#include"Cola.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wx/string.h>


int comprobarinscrito (struct nodo *nuevo, struct nodo *empleado)
{

    int flag=0;

    while (empleado!=NULL)
    {

        if (strcmp(empleado->datdni, nuevo->datdni) == 0)
        {
            flag=2;
        }
        empleado=empleado->sig;
    }
    return flag;
}

void insertar (struct nodo *nuevo, struct nodo **primero, struct nodo **empleado)
{
    int flag=0;

    struct nodo *actual, *posterior;
    flag=comprobarinscrito (nuevo,*empleado);

                    if (flag==0)
                    {

                        if ( (*empleado==NULL) || (strcmp((*empleado)->datape1, nuevo->datape1) > 0))
                        {

                            nuevo->sig=(*empleado);
                            (*empleado)=nuevo;
                            (*primero)=(*empleado);
                            flag=1;

                        }
                        else
                        {
                            actual= (*empleado);
                            posterior=actual->sig;


                            while ((posterior!=NULL) && (strcmp( nuevo->datape1, posterior->datape1) > 0))
                            {
                                actual=posterior;
                                posterior=posterior->sig;
                            }
                            actual->sig=nuevo;
                            nuevo->sig=posterior;
                            flag=1;
                        }
                    }


}

void eliminar (struct nodo **primero, struct nodo **empleado, char nss[20])
{
    int flag=0;
    struct nodo *actual,*anterior,*ady;

    ady=(struct nodo *)malloc (sizeof(struct nodo));
    actual=(*empleado);

    if ((*empleado)!=NULL)
    {
        strcpy(ady->datnss,nss);

        if ((actual!=NULL) && (strcmp( actual->datnss, ady->datnss) == 0))
        {
            actual=(*empleado)->sig;
            free(*empleado);
            *empleado=actual;
            *primero=*empleado;
            flag=1;
        }
        else
        {
            while(actual!=NULL)
            {
                if(strcmp( actual->datnss, ady->datnss) == 0)
                {
                  anterior->sig=actual->sig;
                  free(actual);
                  actual=anterior->sig;
                  flag=1;
                }
                else
                {
                    anterior=actual;
                    actual=actual->sig;
                }
            }
        }


    }

}


/*
void buscar (struct nodo *paciente)
{
    int cont=0;
    struct nodo *ady;
    ady=(struct nodo *)malloc (sizeof(struct nodo));

    printf("\nAMBULATORIO EDA: BUSCAR PACIENTE \n\n");
    if (paciente!=NULL)
    {
        pedirnombre(ady->nombre);
        printf("\n\n---------------------------------\n");
        while (paciente!=NULL)
        {
            if (strcmp(paciente->nombre, ady->nombre) == 0)
            {
                printf("Nombre: %s \n",paciente->nombre);
                printf("Apellido: %s \n",paciente->apellido);
                printf("DNI: %s \n",paciente->dni);
                printf("Medico: %s \n",paciente->medico);
                printf("Archivo Historial: %s \n",paciente->historial);
                printf("---------------------------------\n");
                cont++;
            }
            paciente=paciente->sig;
        }
        if (cont==0) {printf("\nNo hay pacientes con ese nombre \n\n\n");}
    }
    else printf("\nLista de pacientes Vacia \n\n\n");
}

*/
